home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-05-28 | 17.6 KB | 441 lines | [TEXT/ALFA] |
- 05/11/94
- COMMA-AT did not complain about non-lists. APPEND would hang on
- circular lists. COND allowed non list clauses. (Bugs reported by
- Gottfried Ira). CONCATENATE would hang on circular lists.
-
- Removed several free() calls of obviously NULL pointers in the
- unixstuf.c, dosstuff.c, and winstuff.c files. (Error found by Luke
- Tierney.)
-
- Some crashes with XLISPWIN were traced to optimization errors in
- Borland C++ V3.1. Problem fixed by turning off offending optimization.
-
- 04/26/94
- There was a bug involving GO's within UNWIND-PROTECT's which was fixed
- by changing the mechanism that the GO target was propagated back to
- the TAGBODY. Resulting code is smaller and implementation is much
- cleaner. (Bug reported by Gottfried Ira)
-
- Implementation documentation upgraded to include operation of contexts.
- Typo in CATCH documentation fixed.
-
- Fixed potential name clash in inspect.lsp.
-
- 04/16/94
- Changed "forth" to "fourth" in place form definition in COMMON2.LSP.
- Changed FACT.LSP so factorial function works for (FACT 0). (Fix by
- Mihai Tache, moj@karla.indinf.pub.ro).
-
- 03/14/94
- Bug fixed in MAP-INTO with more than three arguments. (Fix by Luke Tierney).
-
- 02/15/94
- A bug was fixed in stepper.lsp.
-
- 02/06/94
- A buffer was too small for filepathnames in the Unix versions. This
- has been fixed by making STRMAX be MAXPATHLEN for UNIX only. Some
- declarations fixed up for non-ANSI C compilers.
-
- Changes made so XLISP will compile on DEC Alpha. (From Luke Tierney)
-
- GENSYM will now handle numeric parts greater than 32767 on 16 bit
- integer systems. (Another old bug just found, from Luke Tierney)
-
- Addresses will now print better on some systems (Luke Tierney)
-
- Status messages (from the ROOM function and from control-T) display
- nicer, and in the latter case, display more information. In the Windows
- version, control-T no longer puts up a status dialog box, and the menu
- status selection now toggles a separate status window which is updated
- once a second.
- 02/02/94
- The "long standing bug" in PROGV, "fixed" 11/19/93, was only half
- fixed. It's now really fixed. (Courtesy Gottfried Ira)
-
- The implicit BLOCK in DOTIMES and DOLIST now encloses the evaluation
- of the count/list argument. This allows (dotimes (i (return 'a))) to
- work. (Problem pointed out by Gottfried Ira).
-
- Fixed bug that would cause (cond ((values 1 2))) to return 1, 2, rather
- than NIL. (Fix by Luke Tierney)
-
- The loop index can now be safely used in the return expression of
- DOTIMES. Before, it wasn't protected from garbage collection.
-
- 02/01/94
- PP.LSP use of READ needed to be changed to handle EOF (reported by
- thantos@runic.via.mind.org (Alex Williams)). Overflow during
- addition/subtraction of complex integers was not handled properly
- (fix by Luke Tierney).
-
- 01/29/94
- The following bugs were fixed with the Windows version: Column set
- wrong on newlines (reported by Alex Williams). Marked text did not
- unmark when the enter key was hit and cursor was at the bottom of the
- display. Copy command changed so that final newline not placed in
- clipboard -- this makes the command more useful in that the last (or
- only) line of pasted text can be edited.
-
- 01/03/94
- DEFUN and DEFMACRO affect global values, and not local bindings (such
- as with flet or macrolet). Missing unixprim.o in UNIX makefiles fixed.
- CATCH, THROW, and CASE now signal errors if no arguments. These bugs
- found by ira@iue.tuwien.ac.at (Gottfried Ira).
-
- 1- of max negative integer now produces correct answer when
- NOOVFIXNUM is used. COMMON2.LSP changed so that APROPOS returns no
- value when multiple values are compiled but packages are not
- compiled. Added #ifdef MULVALS at a line in xlimage.c that should
- not compile if MULVALS is not defined. Fixed documentation error in
- <eofp> argument; this also changes glos.txt. These bugs were found
- by kok@cs.colostate.edu (Jan Kok).
-
- Removed reset of lposition in osflush(). Before the change, flushing
- the keystroke buffer would tell the system the cursor was at the
- left margin, messing up FRESH-LINE, among other functions.
-
- xlgetcolumn() did not correctly calculate the column number of USTREAMs.
- (Fix by Jan Kok).
-
- Corrected Y-OR-N-P to read a single character. Added YES-OR-NO-P
- which reads in a line of text. Both functions now work according to
- Common Lisp definitions.
-
- Error in DO, PROG, and, LET could cause garbage collection problems.
- (Fix by Luke Tierney). [After making this fix, a simulation program I have
- that would run a long time and then crash suddenly started working!]
-
- An error in readme.win documentation file made created XLISPWIN.INI
- files worthless.
-
- (Final release, 12/17/93) 12/17/93
- Time to let go...
-
- (Still working on it, released on BBBBBS 2.1f) 11/19/93
-
- Added far pointer quicksort function to MEDMEM MS-DOS versions,
- allowing sorting of all sequences.
-
- Added graphics to Windows version. Note that graphics and colors are
- not refreshed if window is un-obscured.
-
- The MODE function now returns dimensional information.
-
- Fixed reported bugs in unixprims.c and function EVALHOOK. Allowed change
- of statically allocated small FIXNUM range in xlisp.h. Fixed external
- symbol initiation problem with packages. Cosmetic changes to Windows
- version, and grayed Run-Proceed and Run-ReturnALevel when not at a break
- level.
-
- It never ends! Luke Tierney dropped a bunch of code off, so now READ,
- READ-CHAR, READ-BYTE, and READ-LINE take the eof related arguments, and
- there are new FORMAT directives O X # ? | { } ( ) [ and ].
-
- Obscure bugs in defsetf and macroexpand fixed. Long standing bug in
- xlprogv fixed. Bug involving both optional and keyword arguments fixed.
-
- Added *READ-SUPPRESS* basically for the #+ and #- reader macros. Not
- documented here.
-
-
- (RELEASED ON Bitter Butter Better BBS) 11/11/93
-
- Added INSPECT.LSP, a replacement for REPAIR.LSP. Much cleaner design.
-
- Completed Microsoft Windows version.
-
-
- (NOT RELEASED) 10/06/93
-
- Version changed to 2.1f, for "final" version. :-)
-
- The repair function has been revised and will now handle structures.
- This venerable piece of code I wrote 18 years ago and is really showing
- its age.
-
- I've added a glossary function (glos.lsp and glos.txt) for online
- documentation. This function combined with the tab key in the DOS
- environment provide a pretty handy programming environment.
-
- The C variable "true" has been changed to "s_true" to reflect on the
- standard naming practice.
-
- Added MAP-INTO and COMPLEMENT.
-
- (NOT RELEASED) 09/26/93
- Multiple values and packages features from Luke Tierney added. These
- are compilation options. .LSP files updated to match (I hope!). The
- entire set of functions, as described in CLtL2 have been added, some
- functions in COMMON.LSP.
-
- Added SPECIALP, MARK-AS-SPECIAL, and (in COMMON.LSP) EVAL-WHEN, DECLARE,
- and PROCLAIM.
-
- Fixed some small bugs with FLATSIZE and objects.
-
-
- (NOT RELEASED) 09/20/93
- Added compilation option LEXBIND for lexical binding of GO and
- RETURN (Luke Tierney). Fixed ROUND to round to the nearest even.
- Added comments for DEFVAR DEFCONSTANT DEFPARAMETER and DEFSTRUCT, and
- fixed bug in HASH (from Jan Kok).
-
- (NOT RELEASED) 09/16/93
- Fixed keyword args so duplicate key args ignored. Fixed baktrace
- of SUBRs where keyword args are used. Added :ALLOW-OTHER-KEYS. Added
- Luke Tierney's *startup-functions*, *command-line*, *load-file-arguments*,
- *top-level-loop*, TOP-LEVEL-LOOP, and RESET-SYSTEM.
-
- (NOT RELEASED) 07/16/93
- Added GETF, and GETF placeform for SETF. Added third "default"
- argument for GET. Added PSETF. Corrected bugs in SETQ/PSETQ/SETF that
- allowed an odd number of arguments with no error. Added symbol name
- completion (MS-DOS), defined C constants for all special keyboard
- characters. Added LIST-LENGTH. Added :INITIAL-ELEMENT and
- :INITIAL-CONTENTS to MAKE-ARRAY. Added :CAPITALIZE for *PRINT-CASE*.
- Added functions STRING-CAPITALIZE and NSTRING-CAPITALIZE. Added
- IDENTITY as internal function, and ignore :KEY being #'IDENTITY.
- Improved performance of SORT, and will also sort all sequences
- (except for MEDMEM compilations in MS-DOS). Added NSUBST, NSUBST-IF,
- NSUBST-IF-NOT, NSUBLIS, and fixed errors in SUBLIS and SUBST.
-
- (NOT RELEASED) 06/21/93
- Since I intend version 2.1f to be my last, I decided to to what
- I should have done earlier -- make ERROR CERROR and BREAK compatible
- with Common Lisp. It sure makes usage nicer. Because CERROR
- uses the arguments twice, I added the ~* directive to FORMAT. I
- suppose I should make PRINT do an initial newline instead of a
- trailing one, but this is not a major problem since most programs
- I've seen use FORMAT these days.
-
- Latest version of GCC now handles printing of NANs properly --
- XLISP source changed appropriately.
-
- Added COUNT, COUNT-IF-NOT, POSITION, POSITION-IF-NOT, FIND, and
- FIND-IF-NOT. Because of recoding of COUNT-IF, POSITION-IF, and
- FIND-IF, no more code space is used than before.
-
- Added system stack checking code (based on code supplied by
- Richard Zidlicky). Code has some system dependencies, so is not
- enabled for all configurations. Basic effects of the code (which
- is enabled by defining STSZ to the stack size, typically done on
- the compiler command line):
- 1. EDEPTH and ADEPTH set appropriate to size.
- 2. Low-water mark is checked in EQUAL, SUBST, SUBLIS, PRIN*, and READ
- functions, which could cause a system stack overflow before. EVAL
- is also checked, however overflow here is unlikely if EDEPTH and
- ADEPTH are small enough.
- 3. A special garbage collector stack low-water-mark prevents the
- garbage collector from running (and does a TOP-LEVEL) when it
- appears that there would not be enough stack left. A check within
- the garbage collector code causes a fatal error message if the
- GC is attempted but the stack runs out anyway. If this low-water-mark
- is set to zero, then no check is performed. This is recommended for
- environments where the stack can't really run out but this feature
- is desired for items 2 and 4 in this list.
- 4. A new function SET-STACK-MARK is used to set a stack mark that
- if remaining free stack space drops below a break level will
- be entered. This provides excellent means to catch runaway
- recursive functions in a state that allows debugging. The argument
- value is the number of bytes remaining in the stack and is limited
- at the low end to be greater than the internal low-water mark
- and at the high end to be somewhat less than the free memory at
- the time the function is executed. SET-STACK-MARK returns the
- previous value.
-
- Installed stack checking for Microsoft C, Borland (Turbo) C,
- Top Speed C, and GCC.
-
- Fixed error in DEFSETF.
-
- 06/17/93
- (NOT RELEASED)
- Bug fixed so LOOP cannot hang system.
-
- 01/21/92
- (NOT RELEASED)
- Unbound indicator is now not interned. When printed (only possible with
- the debugging function GENERIC) shows as #<Unbound>. The former
- constant *unbound* is now not defined. FMAKUNBOUND is now an subr
- rather than an expr.
-
-
- 12/18/92
- (NOT RELEASED)
-
- MS-DOS version has improved line editing (insert mode, l/r arrow,
- delete) with recall of 20 previous lines (up and down arrow keys).
- Tab key now ignored. Line length limited to physical line. Invalid
- keys cause "beep" rather than error message and abort of line.
-
- MS-DOS version calculates "run time" as real time less time spend
- waiting for keyboard input or doing SYSTEM function. This is a
- reasonable aproximation which ignores file I/O. Runtime is set to
- zero at startup.
-
- Time to garbage collect is now recorded, and can be displayed with
- the ROOM function.
-
- ZORTSTUF.C and GCCSTUFF.C merged into DOSSTUFF.C. Support for
- Metaware High-C + PharLap dropped because of high cost of product.
-
-
- 11/30/92
- Improved complex number code by Hume Smith installed.
-
- 11-03-92
- 80386 version changed (in gccstuff.c) so that control-Z character in
- ascii files are treated as End-Of-File rather than causing an error
- message. Error message "Unexpected EOF" changed to "EOF reached before
- expression end."
-
- 09-9-92
- Version number changed to 2.1e.
-
- MSDOS versions STUFF files altered to allow characters with high
- bit set (international) to be entered. The compilation option ASCII8,
- defined by default, allows these extended characters to be used
- throughtout XLISP-PLUS. The function ALPHA-CHAR-P has been added
- since BOTH-CASE-P can no longer be used to indicate characters that
- are alphabetic. The function ALPHANUMERICP, which has always existed,
- has been added to the documentation where it was strangely missing.
-
- The 80386 executable has been compiled with the most recent version
- of DJ Delorie's GO32 (1.08) and Ralf Brown's SPAWNO (4.1) which seems
- to have corrected a number of virtual memory management problems.
- It should be noted that GO32 creates its swap file in the root
- directory of drive C:. To move it elsewhere, specify the directory
- in a "SET GO32TMP=" DOS command.
-
- Documentation revised.
-
- STATUS REPORT:
-
- The compiler I've been working on is too buggy for distribution
- at this time, and I don't have the time at the moment to work on it.
- Let me say that it integrates real easily in the code (the #defines
- for it are already here), and the applications that work have been
- 4-6 times faster.
-
- The Windows version is on hold as well. The current version can be
- compiled using Borland C, with slight mods to the keyboard routines.
- Performance however is not good because of the 80286 protected mode
- operation and the continual load of selectors. Some day when I get
- Windows NT, I'll get back to this. Meanwhile I'll stick to DOS and
- the djgcc compiler.
-
- Tom Almy
- tom.almy@tek.com
-
-
- 07-09-92
-
- Operation of setf changed to allow a *setf-lambda* expression as an
- alternative to the *setf* expression. This new format is eval'ed
- twice allowing defsetf to work in a fashion compatible with Common
- Lisp.
-
- Added the #+ and #- reader macros and the *features* global variable.
- Init.lsp defines the only feature ":xlisp".
-
- Added RATIONAL, because I found out the algorithm to do it. Believe
- me, it isn't easy! I also modified ratio arithmetic so that if a
- value cannot be exactly represented as a ratio of fixnums the result
- is expressed as a flonum. This affects + - * / REM MOD 1+ and 1-.
-
- Fixed + - * 1+ 1- so that integer/integer-complex operations that
- overflow become float/float-complex. Fixed LCM to eliminate overflow
- in cases where least common multiple would fit in an integer, and
- give an error when it would not.
-
- 05-28-92
- In STEPPER.LSP, fixed bug stepping through RETURN, and display in
- most cases of RETURN, RETURN-FROM, GO, and THROW. Also fixed bug so
- that Enter key can be used for "Newline" command.
-
- Fixed bug in printing of closures, MS-DOS medium memory model.
-
- 04-13-92
- Fixed two reported errors in unixprim.c.
-
- 03-23-92
- No change to version number -- minor upgrade
-
- Bug fix in common.lsp (function copy-alist), queens2.lsp; new
- makefiles for SPARC and RS6000; UNIX support improved--file
- redirection, long file names, and unixprim.c.
-
- "-b" command switch for "batch" operation -- uncaught errors cause
- xlisp to exit to OS.
-
- 03-02-92
- Fixed "fatal" error in function aref.
-
- 02-13-92
- New version number 2.1d, and name changed to XLISP-PLUS to aid in
- differentiation.
-
- Many compilation options have been removed to provide more consistant
- code. There have been bug fixes in the xlobj (problems with 32 bit
- compilers, and special variable binding), gccstuff, and unixstuf
- (SYS V support) files. A bug causing (type-of 'x) to return CONS has
- been fixed
-
- Documentation is overhauled, and is somewhat simpler because of the fewer
- compilation variations.
-
- New features are rational numbers and readtable-case.
-
- Added Amiga support.
-
-
- 11-15-91
-
- No change to the version number -- this is a maintenance upgrade.
-
- Three additional bugs have been identified and fixed. The first corrects
- a problem in typep that caused the type NUMBER to never match. The
- second implements *dos-input* for the 80386 XLISP, and corrects a minor
- problem with dribble in that version.
-
-
- 10-22-91
-
- No change to the version number -- this is a maintenance upgrade.
-
- There have been two bug fixes made to this version. The first corrects
- problems with save/restore and binary files when the 80386 XLISP is used
- and the second corrects problems with string streams during garbage
- collections that print messages.
-
- In addition a new version of go32, DJ Delorie's DOS extender, is being used.
- This one is VCPI compatible as well as XMS compatible (still not DPMI).
- It is also possible to use it without an 80387 using his new 80387 emulator.
-
- Put the file emu387 in the directory with your binaries (lets say "c:\bin")
- and then set the environment variable: "set go32=emu c:/bin/emu387" -- note
- the forward slashes. XLISP will now use the 80387 emulator, even if an 80387
- is present.
-
- Tom Almy
- toma@sail.labs.tek.com
-
- 8-19-91
-
- This archive contains a copy of the source file dldmem.c with a bug fixed.
-
- The version number has been revised to 2.1c. Please change file xlisp.c to
- match.
-
- Also included are new executable files. Please delete any existing
- 80386 XLISP executables because of distribution licensing problems and
- use this executable which has been compiled with the GNU C compiler and
- uses DJ Delorie's DOS extender, go32. While this version does not run in
- VCPI or DPMI environments, it does offer virtual memory (swaps to disk)
- and will spawn a DOS shell with almost the entire lower memory free (I've
- incorporated Ralf Brown's SPAWNO into go32!).
-
- Tom Almy
- toma@sail.labs.tek.com
-